import { fileURLToPath, URL } from "node:url"

import { defineConfig } from "vite"
import vue from "@vitejs/plugin-vue"

// 按需加载 Element Plus
import AutoImport from "unplugin-auto-import/vite" //自动导入
import Components from "unplugin-vue-components/vite" //组件注册
import { ElementPlusResolver } from "unplugin-vue-components/resolvers"
import Icons from "unplugin-icons/vite" //icon相关
import IconsResolver from "unplugin-icons/resolver" //icon相关

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [
        // 自动导入 Element Plus 相关函数
        ElementPlusResolver(),
        // 自动导入图标组件
        IconsResolver({ prefix: "Icon" })
      ]
    }),
    Components({
      resolvers: [
        // 自动导入 Element Plus 组件
        ElementPlusResolver(),
        // 自动注册图标组件
        IconsResolver({
          // 注意，使用图标时必须与 vite.config.ts 文件中配置的保持一致，如 <el-icon><i-ep-Loading /></el-icon>
          enabledCollections: ["ep"] //重点
        })
      ]
    }),
    Icons({
      autoInstall: true
    })
  ],
  resolve: {
    alias: {
      "@": fileURLToPath(new URL("./src", import.meta.url))
    }
  }
})
